home *** CD-ROM | disk | FTP | other *** search
- org $c000
-
- :open = $ffc0
- :close = $ffc3
- :chkin = $ffc6
- :chkout = $ffc9
- :getin = $ffcf
- :chrstr = $ffd2
- :clrchn = $ffcc
- :print = $ab1e
- :number = $bdcd
-
- jmp start
-
- :type
- b "del seq prg usr rel "
- b "??? ??? ??? ??? ??? "
- :tmsg b 13,5,"message: ",159,0
- :tname b 5,"diskname:",159,0
- :tid b 5," id:",159,0
-
- :unclosed b 28+128,"* not close",0
- :protect b 28+128,"* protected",0
- :trse b 159,"t/s:",0
- :sise b " side-s:",0
- :rlen b " rlaenge:",0
- :blocks b "... ",0
- :startadr b " adr:",0
- :newz b 13," ",0
- :u1 b "u1 2 0 ",0
- :bp b "b-p 2 ",0
- :bp2 b "b-p 2 2",13,0
- :freebl b 13,5,"free blocks on disk :",0
- :typebuf b 0
- :secbuf b 0
- :sector b 0
- :entry b 0
- :nsect b 0
- :llo b 0
- :lhi b 0
-
- :name2 b "#"
- :name1 b "i"
-
- :start
- jsr clrchn
-
- lda #1
- jsr close
- lda #2
- jsr close
-
- lda #1
- ldx #<name1
- ldy #>name1
- jsr $ffbd
- lda #1
- ldx #8
- ldy #15
- jsr $ffba
- jsr open
-
- lda #1
- ldx #<name2
- ldy #>name2
- jsr $ffbd
- lda #2
- ldx #8
- ldy #2
- jsr $ffba
- jsr open
-
- lda #1
- sta sector
-
- :label1
- lda sector
- jsr readsector
- lda sector
- sta secbuf
- lda #0
- sta entry
-
- lda #0
- jsr setpointer
- jsr getin
- jsr getin
- sta nsect
-
- :label2
-
- lda #5
- jsr setpointer
- jsr getin
- cmp #0
- bne label2aa
- jmp label5
-
-
- :label2aa
- lda #30
- jsr setpointer
- jsr getin
- sta llo
- jsr getin
- sta lhi
-
- lda #7
- sta 646
- ldx llo
- ldy lhi
- jsr hexout
-
- lda #5
- jsr setpointer
-
- lda #15
- sta sector
-
- lda #5
- jsr $ffd2
- lda #'"
- jsr $ffd2
-
- :label3
- jsr getin
- cmp #160
- beq label4
- jsr $ffd2
- dec sector
- bpl label3
-
- :label4
- lda #'"
- jsr $ffd2
-
- :label3d
- lda sector
- beq realend
- bmi realend
- jsr getin
- jsr $ffd2
- dec sector
- jmp label3d
-
-
- :realend
- lda #2
- sta 646
- sec
- jsr $fff0
- ldy #24
- clc
- jsr $fff0
-
- lda #2
- jsr setpointer
- jsr getin
- pha
- and #%00000111
- sta typebuf
- asl
- asl
- tax
- ldy #3
- sty sector
- :labeu1
- lda type,x
- stx 2
- jsr $ffd2
- ldx 2
- inx
- dec sector
- bpl labeu1
- pla
- pha
- and #128
- cmp #128
- beq labeu2
- lda #<unclosed
- ldy #>unclosed
- jsr print
- jmp labeu3
- :labeu2
- pla
- pha
- and #64
- cmp #64
- bne labeu3
- lda #<protect
- ldy #>protect
- jsr print
- :labeu3
- pla
-
- lda #<newz
- ldy #>newz
- jsr print
-
- lda #3
- jsr setpointer
- jsr getin
- sta llo
- jsr getin
- sta lhi
-
- lda #<trse
- ldy #>trse
- jsr print
- lda llo
- jsr hot2
- lda #'/
- jsr $ffd2
- lda lhi
- jsr hot2
- lda #2
-
- lda typebuf
- cmp #2
- bne noprog
- lda #<startadr
- ldy #>startadr
- jsr print
-
- jsr clrchn
- ldx #1
- jsr chkout
- lda #<u1
- ldy #>u1
- jsr print
- ldx llo
- lda #0
- jsr number
- lda #32
- jsr $ffd2
- ldx lhi
- lda #0
- jsr number
- lda #13
- jsr $ffd2
- jsr clrchn
- ldx #1
- jsr chkout
-
- lda #<bp2
- ldy #>bp2
- jsr print
- jsr clrchn
-
- ldx #2
- jsr chkin
- jsr getin
- sta llo
- jsr getin
- sta lhi
-
- ldx llo
- ldy lhi
- jsr hexout
-
- lda secbuf
- sta sector
- jsr readsector
- jmp norel
-
- :noprog
- cmp #4
- bne norel
-
- lda #<sise
- ldy #>sise
- jsr print
- lda #21
- jsr setpointer
- jsr getin
- sta llo
- jsr getin
- sta lhi
- jsr getin
- sta sector
- lda llo
- jsr hot2
- lda #'/
- jsr $ffd2
- lda lhi
- jsr hot2
-
- lda #<rlen
- ldy #>rlen
- jsr print
- lda sector
- jsr hot2
-
- :norel
-
- lda #13
- jsr $ffd2
- inc entry
- lda entry
- cmp #8
- beq label6
- jmp label2
- :label6
-
- lda nsect
- sta sector
- cmp #255
- beq label5
- jmp label1
-
- :label5
-
- jsr readfree
-
- jsr clrchn
- lda #2
- jsr close
- lda #1
- jsr close
- rts
-
- :readsector
- sta 2
- jsr clrchn
- ldx #1
- jsr chkout
-
- lda #<u1
- ldy #>u1
- jsr print
-
- ldx #18
- lda #0
- jsr number
-
- lda #32
- jsr $ffd2
-
- ldx 2
- lda #0
- jsr number
- lda #13
- jsr $ffd2
-
- jsr clrchn
- rts
-
- :setpointer
-
- sta 2
- jsr clrchn
- ldx #1
- jsr chkout
- lda #<bp
- ldy #>bp
- jsr print
-
- lda entry
- asl
- asl
- asl
- asl
- asl
- clc
- adc 2
- tax
- lda #0
- jsr number
- lda #13
- jsr $ffd2
-
- jsr clrchn
- ldx #2
- jsr chkin
- rts
-
- :hot s 2
-
- :hexout
- stx hot
- sty hot+1
-
- lda hot+1
- jsr hot2
- lda hot
- jsr hot2
- lda #32
- jmp $ffd2
-
- :hot2
- pha
- lsr
- lsr
- lsr
- lsr
- jsr hot1
- pla
- and #15
- :hot1
- tax
- lda hottab,x
- jmp $ffd2
-
- :hottab b"0123456789abcdef"
-
- :readfree
- jsr clrchn
- lda #<freebl
- ldy #>freebl
- jsr print
-
- lda #0
- jsr readsector
- lda #33
- sta sector
-
- lda #0
- sta hot
- sta hot+1
- sta entry
-
- lda #4
- jsr setpointer
- :bfrech
- jsr getin
- sta 2
-
- jsr getin
- jsr getin
- jsr getin
-
- lda hot
- clc
- adc 2
- sta hot
- lda hot+1
- adc #0
- sta hot+1
-
- dec sector
- bpl bfrech
-
- ldx hot
- ldy hot+1
- jsr hexout
- lda #32
- jsr $ffd2
- lda #'(
- jsr $ffd2
- ldx hot
- lda hot+1
- jsr number
- lda #')
- jsr $ffd2
- lda #13
- jsr $ffd2
- lda #144
- jsr setpointer
- lda #<tname
- ldy #>tname
- jsr print
- lda #15
- sta sector
- :tnam1
- jsr getin
- jsr $ffd2
- dec sector
- bpl tnam1
- lda #<tid
- ldy #>tid
- jsr print
- lda #162
- jsr setpointer
- jsr getin
- jsr $ffd2
- jsr getin
- jsr $ffd2
- jsr getin
- jsr $ffd2
- jsr getin
- jsr $ffd2
- jsr getin
- jsr $ffd2
-
- lda #<tmsg
- ldy #>tmsg
- jsr print
- lda #$a7
- sta sector
- jsr setpointer
- lda #1
- sta 212
- :tnam4
- jsr getin
- beq tnam5
- jsr $ffd2
- :tnam5
- inc sector
- bne tnam4
- lda #13
- jmp $ffd2
-